/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package nsip.model;

/**
 *
 * @author nico.rehwaldt
 */
public interface SchedulableEntity {
    
    /**
     * Returns the last date on which the product may be produced to be
     * safely shipped to the customer.
     * 
     * @return the day
     */
    public int getProductionDueDate();

    /**
     * Returns the amount of production cycles this item will need in total
     * to be produced.
     * 
     * @return the production cycles to produce the item
     */
    public int getProductionCyclesNeeded();

    /**
     * Returns true if the specified entity is a gap
     * 
     * @return
     */
    public boolean isGap();

    /**
     * Returns true if the item is an order and this is already in a working
     * schedule.
     * 
     * @return
     */
    public boolean isOrder();

    public boolean isRfq();
}
